import requests


url = "https://news.baidu.com/widget?id=LocalNews&ajax=json&t=1761570487950"

headers = {
    # "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
}


req = requests.get(url, headers=headers)
res = req.json()
print(res)
# 逐层提取到新闻数据的核心节点
local_news_data = res["data"]["LocalNews"]["data"]
news_rows = local_news_data["rows"]  # 包含pic、first、second三个部分的新闻

# 整合所有新闻到一个列表（便于统一处理）
all_news = []
# 1. 添加单条带图新闻（pic）
if "pic" in news_rows and news_rows["pic"]:
    all_news.append(news_rows["pic"])
# 2. 添加first列表中的8条新闻
if "first" in news_rows and isinstance(news_rows["first"], list):
    all_news.extend(news_rows["first"])
# 3. 添加second列表中的8条新闻（按需选择是否添加，此处暂不添加以优先展示核心新闻）
if "second" in news_rows and isinstance(news_rows["second"], list):
    all_news.extend(news_rows["second"])


print("百度新闻-郑州地区：\n")
for i, news in enumerate(all_news):
    # 提取关键信息，用get方法避免键不存在时报错
    title = news.get("title", "未获取到标题")
    news_url = news.get("url", "未获取到链接")
    # 时间戳转换（原时间为秒级，可按需转为可读格式，此处暂保留原格式）
    news_time = news.get("time", "未获取到时间")

    # 格式化输出
    print(f"{i}. 标题：{title}")
    print(f"   链接：{news_url}")
    print(f"   时间：{news_time}\n")


